沁恒RISC-V开发板CH32V103-EVT评测
“这个世界上本没有节日,谐音梗多了,就有了节日。”——鲁迅
从2014年起,中国的互联网圈把10月24日定为程序员节,到今年2021年已经是第1000个程序员节了。祝各位开发者节日快乐!
虽然搞嵌入式开发的也能算半个码农,但是,啥时候能有真正属于咱电子人的节日?
可能有些读者朋友注意到了,我好久没有更新原创文章了!因为最近一直忙着换工作、租房子、搬家等一些琐事,现在入职新公司有1个月的时间了,还在熟悉公司业务。其实这些都是借口,就是懒!哈哈!
很长时间没发过板卡评测的文章了,今天我们来评测沁恒的一款RISC-V开发板。
提到沁恒这个名字,可能有些朋友感到陌生,但是有一款芯片你肯定知道,那就是CH340——一款USB-TTL串口的转换芯片。
记得我大学期间,第一次接触的单片机是51系列,如STC89C51,它的下载方式是通过串口下载,所使用的的模块就是基于CH340,后来接触到STM32,也可以通过它进行串口下载,或者通过串口输出调试信息。而CH340的厂家,就是WCH沁恒微电子!
今天我们要评测的是沁恒新出的RISC-V开发板——CH32V103R8T6-EVT-R1评估板。
它长这样↓↓↓
是不是很熟悉,其实也可以称之为CH32V103R_NUCLEO。
. 关于RISC-V
CH32V103是一款RISC-V内核芯片,在进行评测之前我们有必要了解一下RISC-V架构。
记得第一次认识RISC-V,是2019年4月参加在北航举办的RISC-V技术沙龙,也是我第一次参加线下的技术交流活动,第一次了解这个和ARM、x86完全不同的另一种全新的架构:RISC-V,当时国产的RISC-V内核芯片还寥寥无几,短短两年时间,很多国产RISC-V内核芯片量产:兆易GD32V、沁恒CH32V、乐鑫ESP32-C3、全志D1、阿里平头哥等等。
关于RISC-V更多的介绍,可以查看之前发的几篇关于RISC-V的文章:
其实RISC-V从2019年开始,才算是真正进入主流市场,政策的支持、半导体公司的崛起,很多公司都想在RISC-V新赛道有一番作为,据不完全统计,中国目前有300家以上的公司在参与RISC-V相关软硬件开发。
. 板载硬件资源
熟悉了RISC-V架构,我们来看看板子都有哪些资源吧!
主控:RISC-V内核MCU—CH32V103R8T6,LQFP64M封装
调试器:板载WCH-Link调试器,集成CDC串口功能,基于沁恒8051内核MCU CH549G实现,Type C接口,预留WCH-Link调试跳线,可以自由选择是否使用板载调试器
按键:两路轻触按键,一个复位,一个用户可编程
LED:6路,3路用于调试器指示状态,2路用户LED,1路电源指示
开关:核心板电源开关,当需要重启时,不需要插拔USB口
GPIO:预留Arduino UNO接口,可以直接连接Arduino外设模块,GPIO通过2.54mm间距排针引出,包括BOOT选择。
USB:1路USB2.0通过Type C和USB母座引出,可以用于来连接U盘、键鼠等USB设备。
. CH32V103R8T6资源
CH32V103是沁恒RISC-V内核MCU系列中的32位通用MCU产品,采用自研RISC-V3A处理器,最高80MHz主频。
芯片内部框图
RISC-V内核32位通用MCU,基于RISC-V3A处理器,最高80MHz系统主频。
20KB SRAM、64KB Flash、51个用户GPIO
2.7-5.5v宽供电范围,-40~85℃工业级温度范围
16路ADC/触摸按键通道
7个定时器:3个通用、1个高级、2个看门狗、1个系统时钟
2路SPI、2路I2C、3路USART,1路USB 2.0,支持主机/设备模式
根据不同的存储、RAM、外设资源,目前主要有4个型号
. 板卡细节
主控芯片,CH32V103R8T6
板载WCH-Link调试器,而且集成了CDC串口功能,基于CH549G方案,目前常用的数据线通常是TypeC接口,所以这款板卡也采用的TypeC接口。
EPSON 晶振,8M和32.768k。
拨动电源开关,只用于核心板电源控制,调试器电源不会被断开。
USB 2.0接口,芯片只有1路USB2.0,板卡提供了Type C和USB母座两种接口形式,可以做一些USB相关的应用,比如外接U盘、鼠标或键盘等。
USB连接器为富士康品牌
两路按键,1个复位,1个用户可编程。
. 配套软硬件文档
对于MCU开发,除了开发环境外,比较重要的有4个文档:数据手册、参考手册、固件库、使用例程。
除了以上文档之外,沁恒还提供有评估板说明书、原理图、芯片SCH/PCB封装等。
目前,半导体厂商的集成开发环境主要可分为2类。
通用平台
这类平台,厂家只需要提供器件支持包就可以使用,功能简洁,集成代码编辑、下载、调试功能,可以方便在不同芯片平台间切换,但是代码编辑功能实在有限,而且需要License授权费。如Keil MDK、IAR等。
定制平台
通常是厂家基于Eclipse平台深度定制,功能强大、界面美观、操作简单,配合ARM交叉编译工具链,可以完成程序的下载、调试等功能,而且还集成了串口终端。这类开发环境通常无授权费用,对于用户非常友好。如CH32V103开发环境MounRiver Studio,GD32V开发环境Nuclei Studio IDE,STM32 Cube IDE/True Studio,瑞萨e2 studio,NXP的MCUXpresso IDE,Microsemi的SoftConsole等,这些都是基于开源的Eclipse框架开发。其他还有RT-Thread Studio,卡姆派乐集成开发环境等等。
CH32V103使用MounRiver Studio(简称MRS)开发,基于Eclipse深度定制开发,支持Keil工程一键导入、RISC-V/ARM跨内核迁移,除了支持沁恒ARM和RISC-V内核MCU开发外,还支持GD32VF103开发。
提供的例程涵盖了所有的外设资源:
. CH32V103工程创建
使用MRS创建示例工程非常简单,全程无需写一行代码,无论是裸机工程还是RTOS工程,软件会自动添加所需要的驱动库和示例代码,而且已经实现了延时函数和UART printf支持。
在使用MRS新建RTOS工程时,支持创建基于3种常见RTOS的工程模板,分别是FreeRTOS、RT-Thread和Harmony LiteOS-M,当创建完成之后,你就获得了一个基于RTOS的工程模板,无需任何修改,直接编译下载,就可以运行,非常方便。
从驱动库函数来看,大部分函数名和STM32一样,对于STM32的用户迁移到CH32V103平台非常方便,整体代码不需要做太多的修改。
部分外设驱动库函数:
void GPIO_DeInit(GPIO_TypeDef* GPIOx);
void GPIO_AFIODeInit(void);
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
. 沁恒RISC-V产品线
可能有些开发者以为沁恒只有USB、以太网、PCI等这些专用的接口转换芯片,其实沁恒还有很多通用MCU产品,包括E8051内核、ARM Cortex-M0/M3内核,RISC-V内核的MCU产品等等。
其中RISC-V内核产品是近两年才推出,主要有3个系列:低功耗蓝牙、32位通用和超高速接口。
集成低功耗蓝牙MCU:CH573/583系列,BLE 5.1,最低睡眠电流0.2uA,USB 2.0等
32位通用MCU:CH32V10x/20x/30x,最高144MHz主频,ADC/DAC/SPI/I2C/UART外设,USB2.0等
超高速接口MCU:CH569/5,千兆以太网、3.8G高速接口口,USB3.0+OTG
. 资料下载
CH32V103配套的软硬件资料还是非常齐全的,主要包括中文数据手册、参考手册、评估板原理图和说明书、外设使用例程、开发环境等等。
MRS集成开发环境V151安装包:
http://file.mounriver.com/upgrade/MounRiver_Studio_Setup_V151.zip
MRS集成开发环境V151补丁包:
http://file.mounriver.com/upgrade/MounRiver_Update_V151.zip
以上资料包可以到官方网站下载:
http://www.wch.cn/products/CH32V103.html
或者关注公众号,后台回复:211023,获取资料打包下载链接。
. 总结
很明显,无论是硬件配置还是开发方式,CH32V103对标的是STM32F103,对于想更换MCU平台的用户可以非常快速的完成迁移。对于早期使用沁恒ARM内核的用户,迁移到RISC-V内核也非常方便,因为两者除了内核不同,资源配置,外设操作这些应用层面的几乎一致。
最近两年,受益于国家的投入与政策的支持,叠加全球“芯片荒”,中国半导体产业进入发展“黄金期”,国产RISC-V芯片也如雨后春笋般涌现。国产芯片的发展,强大的生态是关键,文档手册、开发板、固件库,交流社区,技术支持,创意竞赛,大学计划等等。
我想经历过美国技术卡脖子、芯片缺芯之后,更多的用户会选择国产芯片来替代进口芯片,这对国产芯片是很有利的,但也不能盲目乐观,由于芯片研发技术门槛高、资金大、周期长,爆雷事件也偶有传出。未来一段时间,脚踏实地才能保证确保我国集成电路产业良性发展。